Static Plots

Row

Histogram

boxplot

Row

Scatter Plot 1

Scatter Plot 2

Interactive Plots

Row

Histogram

Boxplot

Row

Scatter Plot 1

Scatter Plot 2

Interactive Maps

Row

Map 1

Map 2

Row

Map 3

Map 4

---
title: "Dashboards(World Happiness Score)"
author: "Kayi Kim"
output: 
  flexdashboard::flex_dashboard:
    social: menu
    source_code: embed 
---

```{r setup, include=FALSE}
library(flexdashboard)

library(ggplot2)
library(plotly)
library(sf)

link="https://github.com/kkasey/pubpol543/raw/main/2019.csv"
data <-read.csv(link)

library(rio)
linkCountry="https://github.com/kkasey/pubpol543/raw/main/2019.csv"
data2 <-read.csv(linkCountry)


#### reading maps
linkMap="https://github.com/EvansDataScience/VAforPM_Spatial/raw/main/worldMap.geojson"

### merge vars into map
mapWorld=read_sf(linkMap)
mapWorldVars=merge(mapWorld, data, by='NAME')

countriesPoints = st_as_sf(data2, 
                      coords = c("longtitude", "latitude"),
                      crs = st_crs(mapWorld))

set.seed(123)
library(cluster)
vars=c("GDP.per.capita", "Social.support", "Freedom.to.make.life.choices")
distMatrix=cluster::daisy(data[,vars])
res.pam=cluster::pam(x=distMatrix,
                     k = 3,
                     cluster.only = F)

data$cluster=as.factor(res.pam$clustering)

theVars=c(vars,'cluster')
aggregate(.~cluster,
          data=data[,theVars],
          FUN=median)


```

Static Plots
=======================================================================

Row
-----------------------------------------------------------------------

### Histogram

```{r}
base1=ggplot(data=data) + theme_classic()
statichist1=base1 + geom_histogram(aes(Score))
statichist1

```


### boxplot 

```{r}
staticBox=base1 + geom_boxplot(aes(GDP.per.capita))
staticBox
```

Row
-----------------------------------------------------------------------

### Scatter Plot 1

```{r}
staticPoints1=base1 + geom_point(aes(x=Social.support, y=Score)) 
staticPoints1

```

### Scatter Plot 2

```{r}
staticPoints2=base1 + geom_point(aes(x=GDP.per.capita, y=Score))
staticPoints2
```

Interactive Plots
=======================================================================

Row
-----------------------------------------------------------------------

### Histogram 

```{r}
ggplotly(statichist1)
```

### Boxplot

```{r}
ggplotly(staticBox)

```

Row 
-----------------------------------------------------------------------

### Scatter Plot 1

```{r}
ggplotly(staticPoints1)
```

### Scatter Plot 2

```{r}
ggplotly(staticPoints2)
```

Interactive Maps
=======================================================================


Row 
-----------------------------------------------------------------------

### Map 1


```{r}

base2=ggplot(data=mapWorld) + geom_sf(fill='grey90',color=NA) + theme_classic()
numericMap= base2 + geom_sf(data=mapWorldVars,aes(fill=Score,text=NAME),color=NA)

numericMap=numericMap + scale_fill_gradient(low = 'red',
                                    high= 'blue')
numericMap%>%ggplotly()

```

### Map 2
```{r}
numericMap2= base2 + geom_sf(data=mapWorldVars,aes(fill=Social.support,
                           text=NAME),
                       color=NA)

numericMap2 = numericMap2 + scale_fill_gradient(low = 'green',
                                    high= 'blue')
numericMap2%>%ggplotly()



```

Row 
-----------------------------------------------------------------------

### Map 3

```{r, eval=TRUE,warning=FALSE,message=FALSE}

points1= base2 + geom_sf(data=countriesPoints,aes(text=NAME, color=Score))

points1%>%ggplotly()

```

### Map 4

```{r, eval=TRUE,warning=FALSE,message=FALSE}

points2= base2 + geom_sf(data=countriesPoints,aes(text=NAME, color=Social.support))

points2%>%ggplotly()

```